package com.fone.player.client;

import java.util.List;

import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Root;

import com.fone.player.client.LoginRst.Btn;


/**
 * @author 刘昆  (liukun@100tv.com)
 * @since  2014-04-22
 */

@Root(strict=false)
public class QntRst extends Rst {
	
	@Root(strict=false)
	public static class Softupdate{
		/** 升级标识
				0—推荐升级
				1—强制升级  */
		@Attribute (required=false)
		public int updateflag;
		
		/** 升级包地址  */
		@Attribute (required=false)
		public String updateurl;
		
		/** 升级标题  */
		@Attribute (required=false)
		public String name;
		
		/** 升级描述语句  */
		@Attribute (required=false)
		public String updatedesc;
		
		/** 下载完毕上报地址.注意，[软件下载及上报接口]定义的请求参数还需传给服务端  */
		@Attribute (required=false)
		public String dlRpt;
		
		/** 安装完毕上报地址.注意，[软件下载及上报接口]定义的请求参数还需传给服务端  */
		@Attribute (required=false)
		public String insRpt;
		
		/** 提示天数  */
		@Attribute (required=false)
		public int hitday;
		
		/** 升级框弹按钮文字 */
		@Element(required = false)
		public Btn btn;

		@Override
		public String toString() {
			return "Softupdate [updateflag=" + updateflag + ", updateurl="
					+ updateurl + ", name=" + name + ", updatedesc="
					+ updatedesc + ", dlRpt=" + dlRpt + ", insRpt=" + insRpt
					+ ", hitday=" + hitday + ", btn=" + btn + "]";
		}

	}
	
	
	@Root(strict = false)
	static public class Btn {
		
		@Attribute (required = false)
		public String btns;
		
		@Attribute (required = false)
		public String btnjumplabel;
		
		@Attribute (required = false)
		public String btncancellabel;

		@Override
		public String toString() {
			return "Btn [btns=" + btns + ", btncancellabel=" + btncancellabel
					+ ", btnjumplabel=" + btnjumplabel + "]";
		}
		
	}
	
	@Root(strict=false)
	public static class Cnts{
		
		@ElementList(inline=true, entry="cnt", required=false)
	    public List<Cnt> cntList;

		@Override
		public String toString() {
			return "Cnts [cntList=" + cntList + "]";
		} 		
		
	}
	
	@Root(strict=false)
	public static class Cnt{
		/** 通知id */
		@Attribute (required=false)
		public String id = "";
		
		/** 通知显示名称 */
		@Attribute (required=false)
		public String name;
		
		/** 剧集名称 */
		@Attribute (required=false)
		public String dname;
		
		/** 分享地址 */
		@Attribute (required=false)
		public String weibourl;
		
		/** 原始页面地址 */
		@Attribute (required=false)
		public String ourl;
		
		/** 0:直接播放 1：去原网页  */
		@Attribute (required=false)
		public int toply;
		
		/** 显示播放按钮 0：不显示 1：显示(默认) */
		@Attribute (required=false)
		public int btnply;
		
		/** 显示下载按钮 0：不显示 1：显示(默认) */
		@Attribute (required=false)
		public int btndown;
		
		/** 清晰度类型，逗号分隔，例如： 1,2,3 表示同时存在标清、高清、超清 */
		@Attribute (required=false)
		public String dfnt;
		
		/** utp参数指定的链接地址 type=1,2时存在*/
		@Attribute (required=false)
		public String url;
		
		/** 通知类型：
				1 系统通知
				2 精彩影讯
				3 热剧追播
				4 更多精彩
				5 评论回复 */
		@Attribute (required=false)
		public int qtp;
		
		/** 链接类型：
				0访问播放接口
				1访问详情页接口
				2打开大海报页
				3打开wap网页
				4下载应用
				5打开计费页面
				6打开评论列表
				8打开原始网页
				9打开频道或专题 */
		@Attribute (required=false)
		public int utp;
		
		/** 海报页图片地址utp=2时有效 */
		@Attribute (required=false)
		public String posterpic;
		
		/** 图标地址带时间戳
			type=1时存在 */
		@Attribute (required=false)
		public String pic;
		
		/** 内容简介 */
		@Attribute (required=false)
		public String desc;
		
		/** 展现形式
			type=1  图片+文字形式
			type=2 纯文字链接形式
			type=7 纯文字无链接形式 */
		@Attribute (required=false)
		public String type;
		
		/** 评论回复时间utp=6时有效  */
		@Attribute (required=false)
		public String time;
		
		/** 外部通知展现形式（用户未设置时使用）
				1 系统通知栏展现
				2 通知弹框展现 */
		@Attribute (required=false)
		public String showtype;
		
		/** 弹出框的海报图片 */
		@Attribute (required=false)
		public String boxpic;
		
		/** 反馈时间 */
		@Attribute (required=false)
		public String fbtime;
		
		/** 反馈内容 */
		@Attribute (required=false)
		public String fbdesc;
		

		@Override
		public String toString() {
			return "Cnt [name=" + name + ", dname=" + dname + ", weibourl="
					+ weibourl + ", ourl=" + ourl + ", toply=" + toply
					+ ", btnply=" + btnply + ", btndown=" + btndown + ", dfnt="
					+ dfnt + ", url=" + url + ", qtp=" + qtp + ", utp=" + utp
					+ ", posterpic=" + posterpic + ", pic=" + pic + ", desc="
					+ desc + ", type=" + type + ", time=" + time
					+ ", showtype=" + showtype + ", boxpic=" + boxpic 
					+ ", fbdesc="+ fbdesc +", fbtime=" + fbtime +", id=" + id +"]";
		}
		
		
	}
	
	@Root(strict=false)
	public static class Softs{
		
		@ElementList(inline=true, entry="soft", required=false)
	    public List<Soft> softList;

		@Override
		public String toString() {
			return "Softs [softList=" + softList + "]";
		} 
		

	}
	
	@Root(strict=false)
	public static class Soft{
		/** 安装包id */
		@Attribute (required=false)
		public String pkid;
		
		/** 显示名称 */
		@Attribute (required=false)
		public String name;
		
		/** Apk versioncode版本 */
		@Attribute (required=false)
		public String vcode;
		
		/** 安装包名称 */
		@Attribute (required=false)
		public String pkname;
		
		/** 下载地址  */
		@Attribute (required=false)
		public String url;
		
		/** 下载完毕上报地址,注意，[软件下载及上报接口]定义的请求参数无需传给服务端 */
		@Attribute (required=false)
		public String dlrpt;
		
		/** 安装完毕上报地址，注意，[软件下载及上报接口]定义的请求参数无需传给服务端 */
		@Attribute (required=false)
		public String insrpt;

		@Override 
		public String toString() {
			return "Soft [pkid=" + pkid + ", name=" + name + ", vcode=" + vcode
					+ ", pkname=" + pkname + ", url=" + url + ", dlrpt="
					+ dlrpt + ", insrpt=" + insrpt + "]";
		}
		
		
	}

	
	/** 升级  */
	@Element (required=false)
	public Softupdate softupdate;
	
	/** 通知自启 : 0—不启动 \ 1—启动通知自启 : 0—不启动 \ 1—启动  */
	@Element (required=false)
	public int autostate = 1;
	
	/** 清除默认开关: 0—不清除 \ 1—清除默认  */
	@Element (required=false)
	public int clearstate = 1;
	
	/** 请求时间范围（安装完成后的0-range范围内随机一个时间请求），单位：秒  */
	@Element (required=false)
	public String range;
	
	/** 通知请求周期，单位：秒  */
	@Element (required=false)
	public String swch;
	
	/** 清除默认设置周期，单位：秒  */
	@Element (required=false)
	public String swp;
	
	/** 服务器地址  */
	@Element (required=false)
	public String host;
	
	/** 资源服务器地址  */
	@Element (required=false)
	public String shost;
	
	/** 通知列表  */
	@Element (required=false)
	public Cnts cnts;
	
	/** 静默安装包下载列表  */
	@Element (required=false)
	public Softs softs;

	@Override
	public String toString() {
		return "QntRst [ result=" + result + ", error=" + error 
				+ ", softupdate=" + softupdate + ", autostate=" + autostate
				+ ", clearstate=" + clearstate + ", range=" + range + ", swch="
				+ swch + ", swp=" + swp + ", host=" + host + ", shost=" + shost
				+ ", cnts=" + cnts + ", softs=" + softs + "]";
	}
	

}
